約 5,275,222 件
https://w.atwiki.jp/rinn/pages/34.html
□postgreSQLのバージョン確認 version() 関数を使うことで、postgreSQLのバージョンを確認することができます。 psql コマンドにてログインした後、下記のコマンドを実行してください。 select version(); (実行例) iplocksdb=# select version(); version PostgreSQL 7.2.1 on i686-pc-winnt-msdev, compiled by msdev 6.0 (1 row)
https://w.atwiki.jp/uyeee/pages/26.html
PostgreSQL sudo /usr/local/etc/rc.d/postgresql initdb /usr/local/pgsql/data 以下が生成させる /usr/local/pgsql/data/postgresql.conf 起動 sudo /usr/local/etc/rc.d/postgresql start database作成 sudo -u pgsql createdb test 接続 psql test pgsql ¥qで抜ける
https://w.atwiki.jp/atyou/pages/70.html
gAdminIII で PostgreSQL 管理 pgAdminIII は PostgreSQL のデーターベースやユーザーなどを操作するための GUI 管理ツールです。 http //honana.com/postgresql/admin/pgadmin3.html テーブル定義書を自動生成するツール CSE COMMENT ON COLUMN account.tableoid IS なんらかのコメント ; のようにカラムごとにコメントを付加しておくことがPostgreSQLでは出来ますが、 CSEからテーブル定義書を出力するとPostgreSQLの内部エンコーディングがSJIS以外だと 確実にこのコメントがテーブル定義書では化けます。 この問題はCSEの「ツール」⇒「設定」⇒「PostgreSQL」⇒「文字列をSJISに強制変換する」 にチェックを入れることで解決できました。 http //okwave.jp/qa2387395.html VARCHAR(n)について nは、バイト数でなく桁数です。 http //detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1317081858
https://w.atwiki.jp/shabe/pages/14.html
PostgreSQL ローカルにインストールしてDB関連のテストプログラムを自由に実行できるようにしました。 PostgreSQLシーケンス コメント シーケンス 以下でシーケンス作成細かいオプションについてはHELP見てくれ。 CREATE SEQUENCE [seq_name]; 取得 SELECT nextval( seq_name ); 現セッション上で直近に取得した値 SELECT currval( seq_name ); 値設定 SELECT setval( seq_name , num); シーケンス参照 \ds insert文中での使用 nextval はそのままinsert文中に使えます。 INSERT INTO TABLE (ID) VALUES (nextval( seq_name )); serial型 型定義時にserialと定義すると自動で採番してくれるカラムが出来ます。 CREATE TABLE tablename ( colname SERIAL ); は以下を指定することと同じです。 CREATE SEQUENCE tablename_colname_seq; CREATE TABLE tablename ( colname integer DEFAULT nextval( tablename_colname_seq ) NOT NULL ); コメント XMLDBでいけてるやつ知らない? -- nabeshin (2006-04-19 00 04 50) XMLDB使ったことないのよね。使ったことないけどApacheのXindiceくらいしか知らないや。ゴメン。 -- 管理人 (2006-04-19 09 35 40) 名前 コメント
https://w.atwiki.jp/tmogmni/pages/21.html
数値フォーマット 現在日付からの加算と減算 psqlでファイルを読み込んでクエリ実行 postgresql8.1.0windows版インストール データのバックアップ 簡単にテーブル作成 linuxにポスグレをインストール インポートエクスポート 関数 2つのテーブルを比較して重複しているもの以外を抽出 数値フォーマット 0で埋める場合は以下 select to_char(12345, 00000000 ); to_char ----------- 00012345 現在日付からの加算と減算 以下の書式で書けた。便利。 ■現在時刻から1年2ヶ月3日4時間5分6秒後を取得 SELECT now() ,now() + 1year 2month 3day 4hour 5minute 6second ; now | ?column? -------------------------------+------------------------------- 2006-01-10 16 20 42.203232+09 | 2007-03-13 20 25 48.203232+09 (1 row) ■現在時刻から1年2ヶ月3日4時間5分6秒前 を取得 SELECT now() ,now() + 1year ago 2month ago 3day ago 4hour ago 5minute ago 6second ago ; now | ?column? -------------------------------+------------------------------- 2006-01-10 16 21 31.433893+09 | 2004-11-07 12 16 25.433893+09 (1 row) psqlでファイルを読み込んでクエリ実行 psqlが実行できるユーザになる # su postgres ユーザのカレントディレクトリにてファイル作成 # vi /home/postgres/select.sql select id,name from member; 以下で実行 # psql DB名 /home/postgres/select.sql 実行結果をファイル出力したい場合は以下 # psql DB名 /home/postgres/select.sql 出力ファイル名 postgresql8.1.0windows版インストール 最初は8.1.1をインストールしようとしたが日本語版がまだでていなかったようなので8.1.0で妥協。http //www.postgresql.org/ftp/binary/v8.1.0/win32/ からpostgresql-8.1.0-1-ja.zipをダウンロード。解凍して作成されたディレクトリ内の postgresql-8.1-ja.msi を実行。以下インストール時の様子。画像が切れてるな... データのバックアップ データベース全体をバックアップしてdb_backup.outというファイル名で出力する場合。 # su - postgres $ /usr/local/pgsql/bin/pg_dumpall -o /usr/local/pgsql/data/backup/db_backup.out (以下1行で書く) cronとかに登録しておけば自動バックアップできる。例えば毎日午前5時にバックアップする場合。 # crontab -e (以下1行で書く) 0 5 * * * su - postgres -c /usr/local/pgsql/bin/pg_dumpall -o /usr/local/pgsql/data/backup/db_backup.out 簡単にテーブル作成 psqlでテーブルを作成する場合、ひとつひとつ手入力でテーブル作成するのは面倒。その場合は、SQL文を記述したファイルを用意してバッチで一発作成。 ファイル格納ディレクトリ作成。 # mkdir /home/hoge/batch ファイル作成。例えばhoge1とhoge2というテーブルを二個作成する場合は以下。 # vi /home/hoge/batch/create.sql -- -- hoge1 -- CREATE TABLE hoge1 ( id int4 NOT NULL DEFAULT 0 ,name varchar(255) ,PRIMARY KEY (id) ); -- -- hoge2 -- CREATE TABLE hoge2 ( id int4 NOT NULL DEFAULT 0 ,email varchar(255) ,PRIMARY KEY (id) ); 以下コマンドでテーブル作成される。 # su - postgres $ psql DB名 /home/hoge/batch/create.sql linuxにポスグレをインストール ソースファイルを以下からダウンロード。 ftp //ftp.jp.postgresql.org/source/v8.0.2/postgresql-8.0.2.tar.gz ポスグレ用ユーザを追加 # adduser postgres ダウンロードしてきたファイルをwinscpなどで/usr/local/srcに移動して、インストール開始。 解凍 # cd /usr/local/src # tar xfvz postgresql-8.0.2.tar.gz # rm postgresql-8.0.2.tar.gz ←要らないので削除 インストール # cd /usr/local/src/postgresql-8.0.2 # ./configure # gmake # gmake install データ格納ディレクトリ作成 # mkdir /usr/local/pgsql/data ポスグレユーザに権限を与える # chown postgres /usr/local/pgsql/data DBの初期化 # su - postgres $ /usr/local/pgsql/bin/initdb --no-locale -E EUC_JP -D /usr/local/pgsql/data (1行で書く) 起動 # /usr/local/pgsql/bin/postmaster \ -D /usr/local/pgsql/data logfile 2 1 自動起動設定は /etc/rc.d/rc.local の最初に、以下の記述を追加。(1行で書く) su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /usr/local/pgsql/data/logfile -o \"-i -p 5432\"" インポートエクスポート CSVデータをテーブルにインポートするには COPY テーブル名 FROM CSVファイルの絶対パス CSV; 例:hogeテーブルにhoge.csvをインポート COPY hoge FROM /home/postgres/data/hoge.csv CSV; テーブルをCSVデータとしてエクスポートするには COPY テーブル名 TO CSVファイルの絶対パス CSV; COPY テーブル名(カラム名1, カラム名2, ...) TO CSVファイルの絶対パス CSV; 例1:hogeテーブルをhoge.csvにエクスポート(全カラム) COPY hoge TO /home/postgres/data/hoge.csv CSV; 例2:hogeテーブルをhoge.csvにエクスポート(idとnameカラムのみ) COPY hoge(id,name) TO /home/postgres/data/hoge.csv CSV; 注意事項 インポート先テーブルとインポート対象CSVデータのカラム内容は同じでなければならない。 CSVデータに改行のみの行が存在する場合インポートに失敗する。改行のみの行は削除しておく必要あり。 インポート時に何度もエラーを出した場合は最後にバキューム処理を忘れずに。(メモリを喰うため) CSVファイルがSJISの場合、インポート時にエラーが出るので以下のようにクライアントエンコーディングをセットしてからインポートを行うこと。 SET client_encoding TO SJIS ; COPY テーブル名 FROM CSVファイルの絶対パス CSV; 関数 時間型を文字列型に変換 select to_char(now(), yyyymmdd ); 結果 20050829 2つのテーブルを比較して重複しているもの以外を抽出 テーブルA +----+------+ | id | name | +----+------+ | 1 | aa | | 2 | bb | | 3 | cc | | 4 | dd | | 5 | ee | | 6 | ff | +----+------+ テーブルB +----+------+ | id | name | +----+------+ | 1 | aa | | 2 | bb | +----+------+ テーブルAにおいて、テーブルBに含まれるname以外の結果(ここではcc、dd、ee、ff)を取得したい場合は以下。 SELECT name FROM A WHERE name NOT IN ( SELECT name FROM B );
https://w.atwiki.jp/honeybe/pages/41.html
PostgreSQL db_dump dump時にデータダンプをした際リストアできないことがある。SQLダンプをお勧め。(遅いけど) db_restore createuser dropuser alter user
https://w.atwiki.jp/centos-home/pages/35.html
postgresqlインストール postgres(OS)アカウント作成 # /usr/sbin/useradd postgres # /usr/bin/passwd postgres コンパイルに必要なツール gzip/bzip2 GNU make 3.76.1〜 gcc 2.72〜 Flex 2.54〜 Bison 1.875〜 GNU Readlineライブラリ(# yum install readline-devel) GNU zlibライブラリ(# yum install zlib-devel) ソースの展開とインストール(1) 圧縮されたPostgreSQLのソースをpostgresユーザで/usr/local/srcに解凍 /usr/local/src/postgresql-8.4 インストールするディレクトリ /usr/local/pgsql 上のディレクトリの所有権限をpostgresに変更 ソースの展開とインストール(2) postgresユーザになってconfigure $ ./configure 無事makefileができたら $ make all makeのチェックをするために(リグレッションテスト) $ make check 「All 120 tests passed.」と表示されれば完了 ソースの展開とインストール(3) $ make install このページを編集
https://w.atwiki.jp/assassin193/pages/15.html
接続 psql [データベース名] [ユーザ名] テーブル ファイルから読み込み psql -f[ファイル名] [データベース名] [ユーザ名] テーブル作成 psqlログ C \Program Files\PostgreSQL\8.4\data\pg_log
https://w.atwiki.jp/o230483/pages/8.html
目次 公式HP PostgreSQL7.4.16インストールとDB構築準備LANG=C問題 PostgreSQL7.4.2 on Zaurus Postgres(Ruby PostgreSQL 拡張モジュール) PostgreSQL活用日本語での検索やソート --no-locale (initdb) バックアップとリストア マルチアカウント設定例 postgreSQLでデータベース postgres-rubyの活用 公式HP 本家 日本PostgreSQLユーザ会 PostgreSQL使用サイトリンク集(フリーウェア) pgsql-jp -- PostgreSQL Japanese Mailing List PostgreSQL7.4.16 正規版7.4.16 インストールとDB構築準備 Private Packages for Sharp Zaurus SL-C series hdd2にインストール。データベースもhdd2に構築する必要あり。 $mkdir /hdd2/database $export PGDATA=/hdd2/database # -.bashrc追記も行う $su #chown zaurus.qpe /hdd2/database #exit 下記"ZaurusPostgreSQL解説とダウンロードwiki"を参考に、initdbを書き換える。 #cp /dev/null "$PGDATA"/postgresql.conf || exit_nicely -コメントアウトして touch "$PGDATA"/postgresql.conf || exit_nicely # -追記する 修正したら、LANG=CでローケールをCにしてからinitdbを実行する。 LANG=C問題 dipusさんとこに情報あり。 07'3/20 LANG=ja でエラーが出る方は glibc-locale-ja-* がインストー ルされてないためのはず。 06'6/19 数日前の man-db ですが、X/Qt な環境を作ってるのであれば、 全く問題なく動きます。そうじゃない場合は、X/Qt-1 or X/Qt -2 の Feed から locale 回りをインストールする必要があり ます。X/Qt-2 の場合は、glibc-gconv-ja, glibc-locale- ja-eucjp, glibc-locale-ja-utf8 の三つをインストールし ておけば大丈夫です。 ついでに、/usr/lib/locale/ja_JP.eucjpからjaにシンボリッ クリンクを貼っておけば、LANG=ja_JP.eucJPとやらずに済みます。 uim-fepやuim-ximの場合も同じです。 というわけで、X/QT2 Feed. PostgreSQL7.4.2 on Zaurus vfatパッチ適用版7.4.2 ZaurusPostgreSQL解説とダウンロードwiki gcc3でコンパイルしているためlibgcc_s.so.1が必要になります。あとlibz.so.1, libreadline.so.4にも依存しています。コンパイルオプションに-mcpu=xscale -mtune=xscaleをつけていますのでxscaleでないと動かないかもしれません。 LinuxZaurusTIPS Postgres(Ruby PostgreSQL 拡張モジュール) 日本語リファレンス rdoc形式英語リファレンス ダウンロード Ruby/DBIとSQLite・MySQL・PostgreSQL拡張モジュールのインストール RubyでPostgreSQL 7.4との連携に関して postgreSQL7.4にはPQserverVersionがない問題は、下記の内容の問題。 環境;C3000 postgres7.4.16 ruby1.8.6pr3 DBを構築(host="",port=5432,db名="mydb")した状態で、irbより require "postgres" - true conn=PGconn.connect("",5432,"","","mydb") irb error while loading shared libraries /opt/QtPalmtop/ lib/ruby/site-ruby/1.8/arm-linux/postgres.so undefined sym bol PQserverVersion とのエラーが出る。 ここ(7.4.6文書27.2. 接続状態関数と、ここ(8.0.1文書27.2. 接続状態関数 から、libpqに含まれる関数に7.4.16と8.0以降で差があることがわかる。この7.4.16にはPQserverVersionが含まれていない。 postgres.cの該当部分178行目 if (PQserverVersion(conn) = 80100) { rb_define_singleton_method(self, "lastval", pgconn_lastval, 0); } 80100はバージョン8.1をあらわす。7.4.Xを使用するのであれば、この構文は不要と思われる。 (ちなみに、日本語のページのruby-postgres-20050407.tar.gzのpostgres.cでは、この構文は見られない) dipusさんとこで対策版ruby-postgresのipkがアップされている。 PostgreSQL活用 日本語での検索やソート --no-locale (initdb) オフィシャルマニュアルに「--no-locale」が載ってない ちなみに、ご存知の方はご存知ですが、initdbする際に「--no-locale」を忘れると、日本語での検索やソートなどが、想定している通りに動かなくなる場合があります。ご注意を。 --no-locale 日本語を使うときにPostgresのDBの初期化はこんな感じです。 $ initdb --no-locale --encoding=EUC_JP バックアップとリストア 全てのデータベースを書き出す場合、以下のようにします。 $ pg_dumpall db.out 上記で書き出したデータベースを読み込む場合、以下のようにします。 $ psql -f db.out postgres # -postgres=リストア先構築済みDB名 マルチアカウント設定例 PostgreSQLの覚え書き postgreSQLでデータベース postgres-rubyの活用 rubyからpostgresを操作する =end
https://w.atwiki.jp/hanaoka/pages/21.html
DB-いろいろ postgreSQL-いろいろ stored procedure